package com.css.openapi.feign;


import com.css.common.core.constant.ReturnCode;
import com.css.openapi.BO.zrrdk.*;
import com.css.openapi.config.ZrrdkFeignConfig;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

/**
 * @description: 自然人代开相关接口
 * @Title: YlswYhkCommonClient
 * @Author zhuowugong
 * @Package com.invoice.feign
 * @Date 2024/8/17 15:37
 */
@Api("自然人代开相关接口")
@FeignClient(name = "zrrdk", url = "${zrrdk.url}", configuration = ZrrdkFeignConfig.class)
public interface ZrrdkCommonClient {

    @ApiOperation("获取登录二维码")
    @GetMapping("/admin/extend/zrr/getLoginEwm")
    LoginEwmResponse getLoginEwm(@RequestHeader("prov") String prov);

    @ApiOperation("获取二维码结果")
    @GetMapping("/admin/extend/zrr/getEwmResult")
    EwmResultResponse getEwmResult(@RequestHeader("prov") String prov, @RequestParam("qrcodeid") String qrcodeid);

    @ApiOperation("提交代开申请")
    @PostMapping("/admin/extend/zrr/submitDK")
    SubmitDKResponse submitDK(@RequestHeader("prov") String prov, @RequestHeader("taxUserId") String taxUserId, @RequestParam("lsh") String lsh, @RequestBody SubmitDKReq req);


    @ApiOperation("再次提交开票")
    @GetMapping("/admin/extend/zrr/submitAgain")
    SubmitAgainResponse submitAgain(@RequestHeader("prov") String prov,@RequestHeader("taxUserId") String taxUserId, @RequestParam("lsh") String lsh);


    @ApiOperation("查询开票情况")
    @GetMapping("/admin/extend/zrr/queryInvoice")
    QueryInvoiceResponse queryInvoice(@RequestHeader("prov") String prov, @RequestHeader("taxUserId") String taxUserId, @RequestParam("lsh") String lsh, @RequestParam("xzwszm") String xzwszm);

    @ApiOperation("查询缴费二维码")
    @GetMapping("admin/extend/zrr/queryQrCode")
    QrCodeRepsonse queryQrCode(@RequestHeader("prov") String prov, @RequestHeader("taxUserId") String taxUserId, @RequestParam("lsh")  String lsh);

    @ApiOperation("上传附件")
    @PostMapping("admin/extend/zrr/uploadFlzl")
    ReturnCode uploadFlzl(@RequestHeader("prov") String prov, @RequestHeader("taxUserId") String taxUserId,@RequestBody FlzlReq flzlReq);

    @ApiOperation("查询可开具完税证明")
    @GetMapping("admin/extend/zrr/queryWspzList")
    WszmRepsonse queryWspzList(@RequestHeader("prov") String prov, @RequestHeader("taxUserId") String taxUserId, @RequestParam("bdbz")  String bdbz, @RequestParam("cxrqq")  String cxrqq, @RequestParam("cxrqz")String cxrqz);

    @ApiOperation("下载完税证明")
    @GetMapping("admin/extend/zrr/downloadWspz")
    DownloadWszmResponse downloadWspz(@RequestHeader("prov") String prov, @RequestHeader("taxUserId") String taxUserId, @RequestParam("bdbz") String bdbz, @RequestParam("cxrqq") String cxrqq, @RequestParam("cxrqz") String cxrqz, @RequestParam("dzsphm") String dzsphm);
}
